<?php
$TMPL['header'] = <<<EOF
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Võ lâm Web auto</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div><a href="?">Trang chủ</a> - <a href="?action=logout">Thoát</a></div>
EOF;

$TMPL['footer'] = '
<div id="footer">
Chương trình chơi Võ Lâm Web tự động, viết bởi <a href="http://jcisio.com">jcisio</a> (<a href="http://tools.jcisio.com/jxweb/">phiên bản Javascript</a>).<br />
<em> $Rev: 1 $. $Date: 2009-07-30 10:06:11 +0000 (Thu, 30 Jul 2009) $</em><br />
Homepage: <a href="http://code.google.com/p/jxwebauto/">http://code.google.com/p/jxwebauto/</a>
</div>
</body>
</html>';

$TMPL['login_form'] = <<<EOF
<form action="" method="POST">
<fieldset>
<legend>Đăng nhập</legend>
E-mail: <input type="text" size="30" name="username" value="{$_POST['username']}" /><br />
Mật khẩu: <input type="password" size="30" name="password" /><br />
<input type="submit" name="action" value="Đăng nhập" />
<input type="reset" value="Làm lại" /> 
</fieldset>
<fieldset>
  <legend>Tính năng (hơi tham vọng)</legend>
  <ul>
  <li>Tự làm nv thu thập (đã có)</li>
  <li>Tự tìm và thuê HK (đã có)</li>
  <li>Báo động khi bị tấn công (qua email: đã có, qua SMS: chưa)</li>
  <li>Tự luyện cấp, tự xác định vị trí ST</li>
  <li>Tự luyện skill, tự xác định vị trí ST</li>
  <li>Tự cướp, tự tìm nạn nhân theo cấp, khoảng cách</li>
  <li>Tự chuyển đổi chiến thuật: luyện skill chính + phụ, luyện skill hơn 5 HK, luyện skill xen lẫn cướp</li>
  <li>Luyện tuyệt chiêu vinaxu: BCH, BQTT, THN, chiêu mộ/huấn luyện nhanh</li>
  <li>Tự đọc chiến báo (đã có), đọc thư, xoá giao dịch</li>
  <li>Tự xây nhà (7 nhà chính hoặc theo danh sách) khi đủ tài nguyên</li>
  <li>Khi tài nguyên đầy, tự cân đối và thông báo acc chính đến lấy về</li>
  <li>Tự tìm nv thợ rèn thích hợp (20 phút hoặc xu)</li>
  <li>Tự tháo, bán đồ</li>
  <li>Tự tìm và làm các nv thợ rèn nâng cấp LTT (chủ yếu cấp 1-5)</li>
  <li>Tự cập nhật liên tục vị trí các thôn tại bản đồ trung tâm, thông qua đóng góp của các máy chạy auto</li>
  </ul>
</fieldset>
</form>
EOF;

$TMPL['HeroList'] = array('/o/21.gif', '/o/19.gif', '/o/20.gif');

$TMPL['Junta'] = array('Thường dùng', 'Thiên vương', 'Thiếu lâm', 'Đường môn', 'Ngũ độc', 'Nga mi', 'Thúy yên', 'Thiên nhẫn', 'Cái bang', 'Võ đang', 'Côn luân');
// 1:Hoa(TN,CB) 2:Thuy(NM,TY) 4:Tho(VD,CL) 6:Moc(DM,ND) 7:Kim(TL,TV)
//AddBuildingEvent(1, 1, 16, 2)//NM
//AddBuildingEvent(1, 1, 15, 6)//NM
$TMPL['HeroQuality'] = array('Bình thường', 'Ưu tú', 'Tinh phẩm', 'Hiếm', 'Cực hiếm');

$TMPL['HeroState'] = array('Đợi lệnh', 'Trọng thương', 'Chiêu mộ', 'Huấn luyện', 'Tại ngoại', 'Đợi chiêu mộ', 'Trọng thương bên ngoài', 'Bế quan tu luyện');

$TMPL['servers'] = array(
  's01'=>'Công Thành Chiến',
  's02'=>'Sơn Hà Xã Tắc',
  's03'=>'Tình Nghĩa Giang Hồ',
  's04' => 'Phong Hoả Liên Thành',
  's05' => 'Hùng Bá Thiên Hạ',
);

function renderTable($name, $thead, $tdata) {
  $msg = '<table><caption>'. $name .'</caption><thead><tr>';
  
  foreach ($thead as $text) {
    $msg .= '<th>' . $text . '</th>';
  }
  
  $msg .= '</tr></thead><tbody>';
  
  foreach ($tdata as $data) {
    $msg .= '<tr>';
    foreach ($data as $text) {
      $msg .= '<td>' . $text . '</td>';
    }
    $msg .= '</tr>';
  }
  
  $msg .= '</tbody></table>';
  
  return $msg;
}

function renderImg($name, $width=0) {
  return '<img src="http://s01.volamweb.zing.vn/img'. $name .'" '. ($width>0 ? 'width="'. $width .'" ' : '') .'alt=""/>';
}

function renderHero($name, $quality) {
  return '<span class="hquality_'. $quality .'">'. $name .'</span>'; 
}

function renderCheckbox($name, $checked = false, $label = '', $disabled = false) {
  static $i = 0;
  $ret = '<input type="checkbox" name="'. $name .'"'
    . ($checked ? ' checked="checked"' : '')
    . ($disabled ? ' disabled="disabled"' : '')
    .' id="idx_chk'. (++$i) .'"/>';
  if ($label) $ret .= ' <label for="idx_chk'. $i .'">'. $label .'</label>';
  return $ret;
}

function renderRadio($name, $value, $checked = '', $label = '') {
  static $i = 0;
  $ret = '<input type="radio" name="'. $name .'" value="'. $value .'"'. ($checked==$value ? ' checked="checked"' : '') .' id="idx_rad'. (++$i) .'"/>';
  if ($label) $ret .= ' <label for="idx_rad'. $i .'">'. $label .'</label>';
  return $ret;
}

function renderTextbox($name, $value, $width) {
  return '<input type="text" name="'. $name .'" style="width:'. (is_int($width) ? $width.'px' : $width) .';margin:3px 0" value="'. $value .'"/>';
}

function renderOptions($name, $values, $default='') {
  $text = '<select name="'. $name .'">';
  foreach ($values as $k=>$v) {
    $text .= '<option value="'. $k .'"'. ($default==$k ? ' selected' : '') .'>'. $v .'</option>';
  }
  $text .= '</select>';
  return $text; 
}

function renderSTLevel($name, $select) {
  $levels = array(1, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95);
  return renderOptions($name, array_combine(range(1,20), $levels), $select);
}

function renderPos($pos) {
  if (! is_array($pos)) {
    $pos = array($pos);
  }
  
  $text = array();
  foreach ($pos as $p) {
    $text[] = implode(',', Tools::PosToXy($p));
  }
  return implode(' ', $text);
}

function derenderPos($text) {
  $text = preg_split('/[\s+;]+/', $text);
  
  $pos = array();
  foreach ($text as $t) {
    if (empty($t)) continue;
    list($x, $y) = split(',', $t);
    $pos[] = Tools::XyToPos($x, $y);
  }
  
  return $pos;
}

function renderPower($power) {
  return floor($power*66);
}

function renderPrice($prices) {
  $text = array();
  foreach ($prices as $level => $price) {
    $text[] = $level .'='. $price;
  }
  return implode(', ', $text);
}

function derenderPrice($text) {
  $prices = explode(',', $text);
  $ret = array();
  for ($k=0; $k<count($prices); $k++) {
    list($lv, $price) = explode('=', $prices[$k]);
    $ret[(int)$lv] = (int)$price;
  }
}

function generateVictims($text) {
  global $JXWA;
  
  $Pos = derenderPos($text);
  $newVictims = array();
  $oldVictims =& $JXWA->config['options']['attack_xys'];
  
  foreach ($Pos as $pos) {
    if (isset($oldVictims[$pos])) {
      $newVictims[$pos] = $oldVictims[$pos];
    }
    else {
      $NPC = $JXWA->getNPCInfo($pos);
      $newVictims[$pos] = array($NPC->ID, Tools::TravelTime($JXWA, $pos));
    }
  }
  
  return $newVictims;
}

function renderFightMail($mail) {
  global $JXWA;
  $resources = '';
  if ($mail->Res->Money > 0) $resources .= ' '. renderImg('/4/1.gif') . $mail->Res->Money;
  if ($mail->Res->Food > 0) $resources .= ' '. renderImg('/4/2.gif') . $mail->Res->Food;
  if ($mail->Res->Men > 0) $resources .= ' '. renderImg('/4/3.gif') . $mail->Res->Men;
  
  $items = array();
  if (is_array($mail->Res->ItemArray))
  foreach ($mail->Res->ItemArray as $item) {
    $items[] = renderImg($item->ItemPath, 16) . $item->ItemName . ($item->IsFill ? ' (<strong>đầy</strong>)' : '');
  }
  
  $warning = ($mail->FightResultName != $JXWA->config['UserInfo']['CityName']) ? '<span class="warning"> (thua)</span>' : ''; 
  
  $text = '<h4>Trận chiến lúc '. $mail->FightTime . $warning .'</h4>
    <ul>
      <li>Công: <b>'. $mail->AttackCity->UserName .'</b> thôn '. $mail->AttackCity->CityName .' ('. renderPos($mail->AttackCity->CityPos). '). Thực lực trước: '. renderPower($mail->AttackCity->Power) .', sau: '. renderPower($mail->AttackCity->PowerBattleOver) . ($mail->FightResultName==$mail->AttackCity->CityName ? ' (thắng)' : '') .'</li>
      <li>Thủ: <b>'. $mail->DefenceCity->UserName .'</b> thôn '. $mail->DefenceCity->CityName .' ('. renderPos($mail->DefenceCity->CityPos). '). Thực lực trước: '. renderPower($mail->DefenceCity->Power) .', sau: '. renderPower($mail->DefenceCity->PowerBattleOver) . ($mail->FightResultName==$mail->DefenceCity->CityName ? ' (thắng)' : '') .'</li>
      '. (!empty($resources) ? '<li>Thu nhập:'. $resources .'</li>': '') .'
      '. (count($items)>0 ? '<li>Chiến lợi phẩm: '. implode(', ', $items) .'</li>': '') .'
    </ul>
    ';
    //krumo($mail);
    return $text;
}